/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.patpro.controladores;

import com.patpro.modelo.javabeans.Profesor;
import com.patpro.modelo.servicios.AsignacionAcademicaService;
import com.patpro.modelo.servicios.ProfesorServicio;
import com.patpro.modelo.servicios.SemestreAcademicoService;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

/**

 */
public class ListarAsignacionPorProfesorSemestreController extends AbstractController {

    private SemestreAcademicoService servicio_semestre;
    private AsignacionAcademicaService servicio_asignacion;
    private ProfesorServicio servicio_profesor;

    public SemestreAcademicoService getServicio_semestre() {
        return servicio_semestre;
    }

    public void setServicio_semestre(SemestreAcademicoService servicio_semestre) {
        this.servicio_semestre = servicio_semestre;
    }

    public AsignacionAcademicaService getServicio_asignacion() {
        return servicio_asignacion;
    }

    public void setServicio_asignacion(AsignacionAcademicaService servicio_asignacion) {
        this.servicio_asignacion = servicio_asignacion;
    }

    public void setServicio_profesor(ProfesorServicio servicio_profesor) {
        this.servicio_profesor = servicio_profesor;
    }
    
    
    
    public ListarAsignacionPorProfesorSemestreController() {
    }
    
    protected ModelAndView handleRequestInternal(
            HttpServletRequest request, 
            HttpServletResponse response) throws Exception {

        Profesor p = servicio_profesor.buscarProfesorPorUsuario(request.getRemoteUser());
        String id_semestre =request.getParameter("semestre");
        ModelAndView mv = new ModelAndView("profesor/listasemestreCursos");
        mv.addObject("lista_semestres", servicio_semestre.listarSemestres());
        mv.addObject("usuario", p.getNombres_completo());

        if(id_semestre != null){
             mv.addObject("id_semestre", id_semestre);
            mv.addObject("lista_asignacion", servicio_asignacion.listarAsignacionAcademicaPorSemestreProfesor(Integer.parseInt(id_semestre), p.getId_persona()));
        }
        return mv;
    }

}